package com.ruiyian.project.predict.mapper;

import com.ruiyian.project.predict.domain.RecordMsg;
import com.ruiyian.project.predict.domain.SimuMsg;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author chong
 * @email 673426164@qq.com
 * @create 2021/1/19
 * Desc: 仿真消息
 */
public interface PredictMapper {
    /**
     * 保存
     *
     * @param map
     */
    void save(Map map);

    /**
     * 保存仿真录像视频
     */
    void saveRecordMsg(Map map);

    /**
     * 获取最新
     *
     * @return
     */
    SimuMsg selectNewData();

    /**
     * 根据抢号获取最新仿真视频
     *
     * @param code
     * @return
     */
    RecordMsg selectNewRecordDataByCode(@Param("code") String code);

    /**
     * 抢号,实例id
     *
     * @param code
     * @param runId
     * @return
     */
    RecordMsg selectNewRecordDataByCodeAndRunId(@Param("code") String code, @Param("runId") String runId);


    /**
     * 入口数据
     *
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String, String>> queryEntryData(@Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     * 出口数据
     */
    List<Map<String, String>> queryExitData(@Param("startTime") String startTime, @Param("endTime") String endTime);


    /**
     * 门架数据
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String, String>> queryDoorFrameData(@Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     * 批量添加入口数据
     * @param map
     */
    void batchEntrySave(Map<String, String> map);
    /**
     * 批量添加出口数据
     * @param map
     */
    void batchExitSave(Map<String, String> map);
    /**
     * 批量添加门架数据
     * @param map
     */
    void batchDoorSave(Map<String, String> map);
}
